package cn.itcast.dao.system;

import cn.itcast.domain.system.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserDao {

    //查询所有的用户
    List<User> findAll(String companyId);

    //根据id查询用户
    User findById(String id);

    Map findByidMap(String id);

    //保存
    void save(User user);

    //更新
    void update(User user);

    //删除
    void delete(String id);

    //根据用户id查询用户具有的所有角色id
    List<String> findRoleIdsByUserId(String id);

    //根据userid，删除用户角色中间表数据
    void deleteUserRole(String userId);

    //向用户角色中间表保存数据
    void saveUserRole(@Param("userId") String userId, @Param("roleId") String roleId);

    //根据email查询用户
    User findByEmail(String email);

    List<User> findAllUser();

    int changePW(@Param("id") String id, @Param("password") String password);

    List<User> findByDegree(int i);
}
